home *** CD-ROM | disk | FTP | other *** search
- # count lines in a C program, not counting comments, blank lines or
- # form feeds
- # does separate count of preprocessor directives
- # if a preprocessor directive is commented out, it does not count
- #
- # By: Dan Kozak
-
- {
- if (file == "") {
- file = FILENAME
- }
- if (file != FILENAME) {
- printf("Number of lines in %s is: %d\n",file,nl+ppd)
- printf("Number of preprocessor directives is: %d\n",ppd)
- printf("Number of lines excluding preprocessor directives is: %d\n\n",nl)
- file = FILENAME
- tnl += nl
- tppd += ppd
- nl = 0
- ppd = 0
- }
-
- if ($0 == "") { ; }
- else if ($1 ~ /^\/\*/ && $NF ~ /\*\/$/) { ; }
- else if ($0 ~ /\/\*/ && $0 !~ /\*\//) { in_comment = 1 }
- else if ($0 !~ /\/\*/ && $0 ~ /\*\//) { in_comment = 0 }
- else if (in_comment) { ; }
- else if ($1 ~ /^#/) { ppd++ }
- else { nl++ }
- }
-
- END { printf("Number of lines in %s is: %d\n",file,nl+ppd)
- printf("Number of preprocessor directives is: %d\n",ppd)
- printf("Number of lines excluding preprocessor directives is:
- %d\n\n",nl)
- file = FILENAME
- tnl += nl
- tppd += ppd
- printf("Total number of lines is: %d\n",tnl+tppd)
- printf("Number of preprocessor directives is: %d\n",tppd)
- printf("Number of lines excluding preprocessor directives is:
- %d\n",tnl)
- }
-